// 读取 .bib 文件
fetch('./docs/test.bib')
  .then(response => response.text())
  .then(data => {
    // 解析 BibTeX 数据
    const entries = parseBibtex(data);

// 在页面中显示每个条目的作者、标题和年份
const bibEntriesDiv = document.getElementById('bibEntries');
entries.forEach(entry => {
  const div = document.createElement('div');
  div.innerHTML = `
    <p><strong>作者:</strong> ${entry.fields.author}</p>
    <p><strong>标题:</strong> ${entry.fields.title}</p>
    <p><strong>年份:</strong> ${entry.fields.year}</p>
    <hr>
  `;
  bibEntriesDiv.appendChild(div);
});
  })
  .catch(error => console.error('Error fetching .bib file:', error));

// 解析 BibTeX 数据的函数
function parseBibtex(bibtexData) {
  // 分割每个条目
  const entries = bibtexData.split('@').slice(1);
  const parsedEntries = [];

  // 解析每个条目
  entries.forEach(entry => {
    const lines = entry.trim().split('\n');
    const entryType = lines[0].split('{')[0].trim();
    const citationKey = lines[0].split('{')[1].split(',')[0].trim();

    const parsedEntry = {
      type: entryType,
      citationKey: citationKey,
      fields: {}
    };

    lines.slice(1, -1).forEach(line => {
      const parts = line.split('=');
      const key = parts[0].trim();
      const value = parts[1].trim().replace(/[\{\}]/g, ''); // 移除花括号

      parsedEntry.fields[key] = value;
    });

    parsedEntries.push(parsedEntry);
  });

  return parsedEntries;
}
